package com.jiangyg.mall.admin.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jiangyg.mall.admin.dto.UserDTO;
import com.jiangyg.mall.admin.entity.User;
import com.jiangyg.mall.db.mybatis.metadata.Pager;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 类描述：用户信息的Dao
 *
 * @author jiangyg
 * @version 2.0
 * @date 2020-07-30
 */
@Mapper
public interface UserDao extends BaseMapper<User> {

    /**
     * 功能描述：用户信息分页查询
     *
     * @param pager 分页信息
     * @param dto   查询参数
     * @return 分页数据
     */
    Pager<UserDTO> selectPagination(Pager<UserDTO> pager, @Param("user") UserDTO dto);

    /**
     * 功能描述：根据用户ID查询用户和部门信息
     *
     * @param userId 用户ID
     * @return 用户和部门信息
     */
    UserDTO selectUserById(@Param("userId") Long userId);

    /**
     * 功能描述：根据用户名统计用户个数
     *
     * @param userId   用户ID
     * @param username 用户名
     * @return 用户个数
     */
    Long selectCountByUsername(@Param("userId") Long userId, @Param("username") String username);

}
